/*
 * *****************************************************************************
 *  Copyright ( c ) 2019 huibur Inc. All Rights Reserved.
 *
 *  This software is the confidential and proprietary information of Huibur Inc
 *  (*Confidential Information*). You shall not disclose such Confidential Information
 *  and shall use it only in accordance with the terms of the license agreement
 *  you entered into with Huibur or a Huibur authorized
 *  reseller (the "License Agreement*).
 *  ******************************************************************************
 */

package com.huibur.devicecheck.service;

import com.huibur.devicecheck.model.param.DeviceParam;
import com.huibur.devicecheck.model.param.LoginParam;
import com.huibur.devicecheck.model.po.CheckItemPO;
import com.huibur.devicecheck.model.po.TaskPO;
import com.huibur.devicecheck.model.query.PwdQuery;
import com.huibur.devicecheck.model.vo.*;
import com.huibur.devicecheck.request.ObjRes;

import java.util.List;

/*******************************************************
* Title: IForAppService.java
* Description:
* @author baiqingshuo
* @date 2021/9/24
* @version 1.0
*******************************************************/
public interface IForAppService {

    /**
     * 用户根据label获取设备详情
     * @param label
     * @return
     */
    AppVO selectDeviceByLabel(String label);

    /**
     * 检修员登录
     * @param loginParam
     * @return
     */
    UserVO login(LoginParam loginParam);

    /**
     * 新增巡检记录
     * @param recordVO
     * @return
     */
    ObjRes<Void> insertRecord(RecordVO recordVO);

    /**
     * 修改密码
     * @param pwdQuery
     * @return
     */
    ObjRes<Void> updatePwd(PwdQuery pwdQuery);

    /**
     * 任务列表
     * @return
     */
    List<TaskPO> taskList();

    /**
     * 检查项列表
     * @return
     */
    List<CheckItemPO> selectCheckItem(String label);

    /**
     * 根据label修改设备信息
     * @param deviceParam
     * @return
     */
    ObjRes<Void> updateByLabel(DeviceParam deviceParam);
}
